[INFO] cloning repository https://github.com/fuqiuluo/qqbot.rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fuqiuluo/qqbot.rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuqiuluo%2Fqqbot.rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuqiuluo%2Fqqbot.rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cdceae9c7183e13658d0d7a56134b33920bd8d2e
[INFO] fixing fuqiuluo/qqbot.rs against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffuqiuluo%2Fqqbot.rs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/fuqiuluo/qqbot.rs
[INFO] finished tweaking git repo https://github.com/fuqiuluo/qqbot.rs
[INFO] tweaked toml for git repo https://github.com/fuqiuluo/qqbot.rs written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/fuqiuluo/qqbot.rs on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/fuqiuluo/qqbot.rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cf6d5998af68ab5f79b6b95d89bcdca77bbf04244d464fc87a10d3d6a976ffda
[INFO] running `Command { std: "docker" "start" "cf6d5998af68ab5f79b6b95d89bcdca77bbf04244d464fc87a10d3d6a976ffda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cf6d5998af68ab5f79b6b95d89bcdca77bbf04244d464fc87a10d3d6a976ffda" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cf6d5998af68ab5f79b6b95d89bcdca77bbf04244d464fc87a10d3d6a976ffda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cf6d5998af68ab5f79b6b95d89bcdca77bbf04244d464fc87a10d3d6a976ffda" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating crates/ntrim/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/ntrim-core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/ntrim-macros/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/ntrim-tools/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.81
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking getrandom v0.2.13
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking parking_lot_core v0.9.9
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking zerocopy v0.7.34
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling jobserver v0.1.28
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]    Compiling cc v1.0.91
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]    Compiling anyhow v1.0.82
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling serde_json v1.0.115
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling socket2 v0.5.6
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling subtle v2.5.0
[INFO] [stderr]    Compiling tokio v1.37.0
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling rustix v0.38.32
[INFO] [stderr]    Compiling libz-ng-sys v1.1.15
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling futures-task v0.3.30
[INFO] [stderr]    Compiling unicode-normalization v0.1.23
[INFO] [stderr]    Compiling futures-util v0.3.30
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.15
[INFO] [stderr]    Compiling cpufeatures v0.2.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling url v2.5.0
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]    Compiling zstd-sys v2.0.10+zstd.1.5.6
[INFO] [stderr]    Compiling linux-raw-sys v0.4.13
[INFO] [stderr]     Checking unicode-ident v1.0.12
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking httparse v1.8.0
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling zerocopy v0.8.0-alpha.6
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]     Checking rustls-pki-types v1.7.0
[INFO] [stderr]    Compiling prettyplease v0.2.17
[INFO] [stderr]    Compiling fastrand v2.0.2
[INFO] [stderr]    Compiling http-body v1.0.0
[INFO] [stderr]    Compiling tempfile v3.10.1
[INFO] [stderr]    Compiling miniz_oxide v0.7.2
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling zstd-safe v7.1.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling darling_core v0.20.8
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling chrono v0.4.37
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]    Compiling sqlformat v0.2.3
[INFO] [stderr]    Compiling prost-derive v0.12.6
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]     Checking num-bigint v0.4.5
[INFO] [stderr]    Compiling crossbeam-queue v0.3.11
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling flate2 v1.0.28
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking h2 v0.4.4
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling tokio-stream v0.1.15
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]    Compiling unicode-properties v0.1.1
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]    Compiling rustls v0.23.10
[INFO] [stderr]    Compiling built v0.7.3
[INFO] [stderr]    Compiling tower-layer v0.3.2
[INFO] [stderr]     Checking tower-service v0.3.2
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling regex-syntax v0.8.3
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling sqlx-core v0.7.4
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking anstream v0.6.13
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling hyper v1.2.0
[INFO] [stderr]     Checking rand_core v0.9.0-alpha.1
[INFO] [stderr]    Compiling darling_macro v0.20.8
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking prost v0.12.6
[INFO] [stderr]     Checking rustls-webpki v0.102.4
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]     Checking bytemuck v1.16.0
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]    Compiling whoami v1.5.1
[INFO] [stderr]    Compiling lockfree-object-pool v0.1.6
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]     Checking base64 v0.22.0
[INFO] [stderr]    Compiling unicode-segmentation v1.11.0
[INFO] [stderr]     Checking zeroize v1.7.0
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling zip v2.1.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling zopfli v0.8.1
[INFO] [stderr]    Compiling sqlx-postgres v0.7.4
[INFO] [stderr]    Compiling petgraph v0.6.4
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]    Compiling prost-types v0.12.6
[INFO] [stderr]     Checking hyper-util v0.1.3
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]    Compiling bzip2 v0.4.4
[INFO] [stderr]    Compiling darling v0.20.8
[INFO] [stderr]     Checking rand_chacha v0.9.0-alpha.1
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling zstd v0.13.1
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]    Compiling async-compression v0.4.8
[INFO] [stderr]    Compiling http-body-util v0.1.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]    Compiling displaydoc v0.2.4
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling lzma-rs v0.3.0
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking encoding_rs v0.8.33
[INFO] [stderr]    Compiling deflate64 v0.1.8
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling constant_time_eq v0.3.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.1
[INFO] [stderr]     Checking bitstream-io v2.4.2
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking imgref v1.10.1
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]    Compiling multimap v0.10.0
[INFO] [stderr]    Compiling ipnet v2.9.0
[INFO] [stderr]    Compiling prost-build v0.12.4
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]    Compiling reqwest v0.12.5
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]     Checking tokio-rustls v0.26.0
[INFO] [stderr]     Checking rand v0.9.0-alpha.1
[INFO] [stderr]    Compiling serde_with_macros v3.7.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking rgb v0.8.37
[INFO] [stderr]     Checking avif-serialize v0.8.1
[INFO] [stderr]     Checking webpki-roots v0.26.1
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking generic-array v1.0.0
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking uuid v1.8.0
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking image-webp v0.1.2
[INFO] [stderr]     Checking zune-jpeg v0.4.11
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]    Compiling ntrim-core v0.0.1 (/opt/rustwide/workdir/crates/ntrim-core)
[INFO] [stderr]    Migrating crates/ntrim-core/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking ravif v0.11.7
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]     Checking hyper-rustls v0.27.2
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking brotli-decompressor v4.0.1
[INFO] [stderr]     Checking actix-utils v3.0.1
[INFO] [stderr]     Checking rustls-pemfile v2.1.2
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking tokio-socks v0.5.1
[INFO] [stderr]     Checking actix-rt v2.10.0
[INFO] [stderr]    Compiling jcers_proc v0.1.0
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking actix-service v2.0.2
[INFO] [stderr]    Compiling bytestring v1.3.1
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]     Checking heck v0.5.0
[INFO] [stderr]     Checking jcers v0.1.2
[INFO] [stderr]     Checking brotli v6.0.0
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking clap_builder v4.5.2
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stderr]        Fixed crates/ntrim-core/build.rs (2 fixes)
[INFO] [stderr]     Checking env_logger v0.11.3
[INFO] [stderr]     Checking image v0.25.1
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking ntrim-tools v0.0.1 (/opt/rustwide/workdir/crates/ntrim-tools)
[INFO] [stderr]    Migrating crates/ntrim-tools/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking local-channel v0.1.5
[INFO] [stderr]    Compiling clap_derive v4.5.4
[INFO] [stderr]     Checking toml_datetime v0.6.5
[INFO] [stderr]     Checking serde_spanned v0.6.5
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]    Compiling ntrim-macros v0.0.1 (/opt/rustwide/workdir/crates/ntrim-macros)
[INFO] [stderr]        Fixed crates/ntrim-tools/src/simple_prost/mod.rs (5 fixes)
[INFO] [stderr]    Migrating crates/ntrim-macros/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling virtue v0.0.13
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking winnow v0.6.6
[INFO] [stderr]    Compiling bincode_derive v2.0.0-rc.3
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]     Checking actix-server v2.4.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking clap v4.5.4
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]    Migrating crates/ntrim-core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking pretty_env_logger v0.5.0
[INFO] [stderr]     Checking bincode v2.0.0-rc.3
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking toml_edit v0.22.9
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking indent_write v2.2.0
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking serde_toml v0.0.1
[INFO] [stderr]     Checking cool_asserts v2.0.3
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking actix-http v3.7.0
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking toml v0.8.12
[INFO] [stderr]     Checking actix-web v4.7.0
[INFO] [stderr]        Fixed crates/ntrim-core/src/session/ticket.rs (5 fixes)
[INFO] [stderr]        Fixed crates/ntrim-core/src/reconnect.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim-core/src/jce/mod.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim-core/src/commands/wtlogin/mod.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim-core/src/commands/mod.rs (10 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/ntrim-core/src/client/unipacket.rs:56:15
[INFO] [stdout]      |
[INFO] [stdout]   48 |             let mut sign_buffer = BytesMut::new();
[INFO] [stdout]      |                 ---------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `sign_buffer` calls a custom destructor
[INFO] [stdout]      |                 `sign_buffer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   56 |             ).await)
[INFO] [stdout]      |               ^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   57 |         } else {
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sign_buffer` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes_mut.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/ntrim-core/src/commands/wtlogin/refresh_sig.rs:81:33
[INFO] [stdout]      |
[INFO] [stdout]   74 |         let mut salt = BytesMut::new();
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `salt` calls a custom destructor
[INFO] [stdout]      |             `salt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   81 |         qsec.energy(data, salt).await
[INFO] [stdout]      |                                 ^^^^^
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   82 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `salt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes_mut.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let is_rkey_expires = unsafe { RKEY.lock().await.get(&flag) }
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 51 |         .map_or(true, |v| v.is_expired());
[INFO] [stdout]    |          ------ borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/ntrim-core/src/commands/mod.rs:15:9
[INFO] [stdout]      |
[INFO] [stdout]   15 |           match tokio::time::timeout($timeout, $future).await {
[INFO] [stdout]      |           ^     ---------------------------------------------
[INFO] [stdout]      |           |     |                                       |
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |           |     |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           |     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |           |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |           |     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     `__awaitee` calls a custom destructor
[INFO] [stdout]      |  _________|     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |
[INFO] [stdout]   16 | |             Ok(result) => match result {
[INFO] [stdout]      | |                ------
[INFO] [stdout]      | |                |
[INFO] [stdout]      | |                `result` calls a custom destructor
[INFO] [stdout]      | |                `result` will be dropped later as of Edition 2024
[INFO] [stdout]   17 | |                 Ok(value) => $success_handler(value),
[INFO] [stdout]   18 | |                 Err(e) => $error_handler(e),
[INFO] [stdout]   19 | |             },
[INFO] [stdout]   20 | |             Err(_) => $error_handler(anyhow::Error::msg("Timeout occurred")),
[INFO] [stdout]   21 | |         }
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: crates/ntrim-core/src/service/friend/get_friend_list.rs:26:19
[INFO] [stdout]      |
[INFO] [stdout]   26 |               match await_response!(tokio::time::Duration::from_secs(5), async {
[INFO] [stdout]      |  ___________________-
[INFO] [stdout]   27 | |                 let rx = Bot::_get_friend_list(self, output.friends.len() as i16, 150, 0, 0).await;
[INFO] [stdout]   28 | |                 if let Some(rx) = rx {
[INFO] [stdout]   29 | |                     rx.await.map_err(|e| Error::new(e))
[INFO] [stdout] ...    |
[INFO] [stdout]   36 | |                 Err(e)
[INFO] [stdout]   37 | |             }) {
[INFO] [stdout]      | |______________- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout]   54 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `await_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim-core/src/service/msg/message_factory.rs:52:15
[INFO] [stdout]     |
[INFO] [stdout]  52 |         match convert_cq_to_elem(bot, contact, cq).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                    |
[INFO] [stdout]     |               |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               |                                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  53 |             Ok(elem) => elems.push(elem),
[INFO] [stdout]  54 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  58 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/ntrim-core/src/commands/mod.rs:15:9
[INFO] [stdout]      |
[INFO] [stdout]   15 |           match tokio::time::timeout($timeout, $future).await {
[INFO] [stdout]      |           ^     ---------------------------------------------
[INFO] [stdout]      |           |     |                                       |
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |           |     |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           |     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |           |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |           |     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     `__awaitee` calls a custom destructor
[INFO] [stdout]      |  _________|     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |
[INFO] [stdout]   16 | |             Ok(result) => match result {
[INFO] [stdout]      | |                ------
[INFO] [stdout]      | |                |
[INFO] [stdout]      | |                `result` calls a custom destructor
[INFO] [stdout]      | |                `result` will be dropped later as of Edition 2024
[INFO] [stdout]   17 | |                 Ok(value) => $success_handler(value),
[INFO] [stdout]   18 | |                 Err(e) => $error_handler(e),
[INFO] [stdout]   19 | |             },
[INFO] [stdout]   20 | |             Err(_) => $error_handler(anyhow::Error::msg("Timeout occurred")),
[INFO] [stdout]   21 | |         }
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: crates/ntrim-core/src/service/troop/get_troop_list.rs:26:13
[INFO] [stdout]      |
[INFO] [stdout]   26 |           let mut vec_cookie = Bytes::new();
[INFO] [stdout]      |               --------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `vec_cookie` calls a custom destructor
[INFO] [stdout]      |               `vec_cookie` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   29 |               match await_response!(tokio::time::Duration::from_secs(5), async {
[INFO] [stdout]      |  ___________________-
[INFO] [stdout]   30 | |                 let rx = Bot::_get_troop_list(self, &vec_cookie).await;
[INFO] [stdout]   31 | |                 if let Some(rx) = rx {
[INFO] [stdout]   32 | |                     rx.await.map_err(|e| Error::new(e))
[INFO] [stdout] ...    |
[INFO] [stdout]   39 | |                 Err(e)
[INFO] [stdout]   40 | |             }) {
[INFO] [stdout]      | |______________- in this macro invocation
[INFO] [stdout]   41 |                   Ok(Some((mut g, c))) => {
[INFO] [stdout]      |                                   -
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   `c` calls a custom destructor
[INFO] [stdout]      |                                   `c` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   56 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `vec_cookie` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `await_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/ntrim-core/src/commands/mod.rs:15:9
[INFO] [stdout]      |
[INFO] [stdout]   15 |           match tokio::time::timeout($timeout, $future).await {
[INFO] [stdout]      |           ^     ---------------------------------------------
[INFO] [stdout]      |           |     |                                       |
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |           |     |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           |     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |           |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |           |     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     `__awaitee` calls a custom destructor
[INFO] [stdout]      |  _________|     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |
[INFO] [stdout]   16 | |             Ok(result) => match result {
[INFO] [stdout]      | |                ------
[INFO] [stdout]      | |                |
[INFO] [stdout]      | |                `result` calls a custom destructor
[INFO] [stdout]      | |                `result` will be dropped later as of Edition 2024
[INFO] [stdout]   17 | |                 Ok(value) => $success_handler(value),
[INFO] [stdout]   18 | |                 Err(e) => $error_handler(e),
[INFO] [stdout]   19 | |             },
[INFO] [stdout]   20 | |             Err(_) => $error_handler(anyhow::Error::msg("Timeout occurred")),
[INFO] [stdout]   21 | |         }
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: crates/ntrim-core/src/service/troop/get_troop_member_list.rs:19:19
[INFO] [stdout]      |
[INFO] [stdout]   19 |               match await_response!(tokio::time::Duration::from_secs(10), async {
[INFO] [stdout]      |  ___________________-
[INFO] [stdout]   20 | |                 let rx = Bot::_get_troop_member_list(self, group_id, next_uin).await;
[INFO] [stdout]   21 | |                 if let Some(rx) = rx {
[INFO] [stdout]   22 | |                     rx.await.map_err(|e| Error::new(e))
[INFO] [stdout] ...    |
[INFO] [stdout]   29 | |                 Err(e)
[INFO] [stdout]   30 | |             }) {
[INFO] [stdout]      | |______________- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout]   55 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `await_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ntrim v0.0.1 (/opt/rustwide/workdir/crates/ntrim)
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let is_rkey_expires = unsafe { RKEY.lock().await.get(&flag) }
[INFO] [stdout]    |                                    ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout] 32 + static RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 RKEY.lock().await.insert(r#type, RKey::new(
[INFO] [stdout]    |                 ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout] 32 + static RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |     Ok(unsafe { RKEY.lock().await.get(&flag).cloned() })
[INFO] [stdout]    |                 ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout] 32 + static RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/ntrim-core/src/client/unipacket.rs:56:15
[INFO] [stdout]      |
[INFO] [stdout]   48 |             let mut sign_buffer = BytesMut::new();
[INFO] [stdout]      |                 ---------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `sign_buffer` calls a custom destructor
[INFO] [stdout]      |                 `sign_buffer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   56 |             ).await)
[INFO] [stdout]      |               ^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   57 |         } else {
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `sign_buffer` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes_mut.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/ntrim-core/src/commands/wtlogin/refresh_sig.rs:81:33
[INFO] [stdout]      |
[INFO] [stdout]   74 |         let mut salt = BytesMut::new();
[INFO] [stdout]      |             --------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `salt` calls a custom destructor
[INFO] [stdout]      |             `salt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   81 |         qsec.energy(data, salt).await
[INFO] [stdout]      |                                 ^^^^^
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   82 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `salt` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes_mut.rs:1030:1
[INFO] [stdout]      |
[INFO] [stdout] 1030 | impl Drop for BytesMut {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let is_rkey_expires = unsafe { RKEY.lock().await.get(&flag) }
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 51 |         .map_or(true, |v| v.is_expired());
[INFO] [stdout]    |          ------ borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/ntrim-core/src/commands/mod.rs:15:9
[INFO] [stdout]      |
[INFO] [stdout]   15 |           match tokio::time::timeout($timeout, $future).await {
[INFO] [stdout]      |           ^     ---------------------------------------------
[INFO] [stdout]      |           |     |                                       |
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |           |     |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           |     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |           |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |           |     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     `__awaitee` calls a custom destructor
[INFO] [stdout]      |  _________|     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |
[INFO] [stdout]   16 | |             Ok(result) => match result {
[INFO] [stdout]      | |                ------
[INFO] [stdout]      | |                |
[INFO] [stdout]      | |                `result` calls a custom destructor
[INFO] [stdout]      | |                `result` will be dropped later as of Edition 2024
[INFO] [stdout]   17 | |                 Ok(value) => $success_handler(value),
[INFO] [stdout]   18 | |                 Err(e) => $error_handler(e),
[INFO] [stdout]   19 | |             },
[INFO] [stdout]   20 | |             Err(_) => $error_handler(anyhow::Error::msg("Timeout occurred")),
[INFO] [stdout]   21 | |         }
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: crates/ntrim-core/src/service/friend/get_friend_list.rs:26:19
[INFO] [stdout]      |
[INFO] [stdout]   26 |               match await_response!(tokio::time::Duration::from_secs(5), async {
[INFO] [stdout]      |  ___________________-
[INFO] [stdout]   27 | |                 let rx = Bot::_get_friend_list(self, output.friends.len() as i16, 150, 0, 0).await;
[INFO] [stdout]   28 | |                 if let Some(rx) = rx {
[INFO] [stdout]   29 | |                     rx.await.map_err(|e| Error::new(e))
[INFO] [stdout] ...    |
[INFO] [stdout]   36 | |                 Err(e)
[INFO] [stdout]   37 | |             }) {
[INFO] [stdout]      | |______________- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout]   54 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `await_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim-core/src/service/msg/message_factory.rs:52:15
[INFO] [stdout]     |
[INFO] [stdout]  52 |         match convert_cq_to_elem(bot, contact, cq).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |               |                                    |
[INFO] [stdout]     |               |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |               |                                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |               `__awaitee` calls a custom destructor
[INFO] [stdout]     |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  53 |             Ok(elem) => elems.push(elem),
[INFO] [stdout]  54 |             Err(e) => {
[INFO] [stdout]     |                 -
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `e` calls a custom destructor
[INFO] [stdout]     |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  58 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/ntrim-core/src/commands/mod.rs:15:9
[INFO] [stdout]      |
[INFO] [stdout]   15 |           match tokio::time::timeout($timeout, $future).await {
[INFO] [stdout]      |           ^     ---------------------------------------------
[INFO] [stdout]      |           |     |                                       |
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |           |     |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           |     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |           |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |           |     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     `__awaitee` calls a custom destructor
[INFO] [stdout]      |  _________|     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |
[INFO] [stdout]   16 | |             Ok(result) => match result {
[INFO] [stdout]      | |                ------
[INFO] [stdout]      | |                |
[INFO] [stdout]      | |                `result` calls a custom destructor
[INFO] [stdout]      | |                `result` will be dropped later as of Edition 2024
[INFO] [stdout]   17 | |                 Ok(value) => $success_handler(value),
[INFO] [stdout]   18 | |                 Err(e) => $error_handler(e),
[INFO] [stdout]   19 | |             },
[INFO] [stdout]   20 | |             Err(_) => $error_handler(anyhow::Error::msg("Timeout occurred")),
[INFO] [stdout]   21 | |         }
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: crates/ntrim-core/src/service/troop/get_troop_list.rs:26:13
[INFO] [stdout]      |
[INFO] [stdout]   26 |           let mut vec_cookie = Bytes::new();
[INFO] [stdout]      |               --------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `vec_cookie` calls a custom destructor
[INFO] [stdout]      |               `vec_cookie` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   29 |               match await_response!(tokio::time::Duration::from_secs(5), async {
[INFO] [stdout]      |  ___________________-
[INFO] [stdout]   30 | |                 let rx = Bot::_get_troop_list(self, &vec_cookie).await;
[INFO] [stdout]   31 | |                 if let Some(rx) = rx {
[INFO] [stdout]   32 | |                     rx.await.map_err(|e| Error::new(e))
[INFO] [stdout] ...    |
[INFO] [stdout]   39 | |                 Err(e)
[INFO] [stdout]   40 | |             }) {
[INFO] [stdout]      | |______________- in this macro invocation
[INFO] [stdout]   41 |                   Ok(Some((mut g, c))) => {
[INFO] [stdout]      |                                   -
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   `c` calls a custom destructor
[INFO] [stdout]      |                                   `c` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   56 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `vec_cookie` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]      |
[INFO] [stdout]  544 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `await_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/ntrim-core/src/commands/mod.rs:15:9
[INFO] [stdout]      |
[INFO] [stdout]   15 |           match tokio::time::timeout($timeout, $future).await {
[INFO] [stdout]      |           ^     ---------------------------------------------
[INFO] [stdout]      |           |     |                                       |
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |           |     |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           |     |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |           |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |           |     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |           |     `__awaitee` calls a custom destructor
[INFO] [stdout]      |  _________|     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |
[INFO] [stdout]   16 | |             Ok(result) => match result {
[INFO] [stdout]      | |                ------
[INFO] [stdout]      | |                |
[INFO] [stdout]      | |                `result` calls a custom destructor
[INFO] [stdout]      | |                `result` will be dropped later as of Edition 2024
[INFO] [stdout]   17 | |                 Ok(value) => $success_handler(value),
[INFO] [stdout]   18 | |                 Err(e) => $error_handler(e),
[INFO] [stdout]   19 | |             },
[INFO] [stdout]   20 | |             Err(_) => $error_handler(anyhow::Error::msg("Timeout occurred")),
[INFO] [stdout]   21 | |         }
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]     ::: crates/ntrim-core/src/service/troop/get_troop_member_list.rs:19:19
[INFO] [stdout]      |
[INFO] [stdout]   19 |               match await_response!(tokio::time::Duration::from_secs(10), async {
[INFO] [stdout]      |  ___________________-
[INFO] [stdout]   20 | |                 let rx = Bot::_get_troop_member_list(self, group_id, next_uin).await;
[INFO] [stdout]   21 | |                 if let Some(rx) = rx {
[INFO] [stdout]   22 | |                     rx.await.map_err(|e| Error::new(e))
[INFO] [stdout] ...    |
[INFO] [stdout]   29 | |                 Err(e)
[INFO] [stdout]   30 | |             }) {
[INFO] [stdout]      | |______________- in this macro invocation
[INFO] [stdout] ...
[INFO] [stdout]   55 |           }
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/runtime/time/entry.rs:642:1
[INFO] [stdout]      |
[INFO] [stdout]  642 | impl Drop for TimerEntry {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.37.0/src/sync/oneshot.rs:1072:1
[INFO] [stdout]      |
[INFO] [stdout] 1072 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]      |
[INFO] [stdout]  600 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `await_response` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let is_rkey_expires = unsafe { RKEY.lock().await.get(&flag) }
[INFO] [stdout]    |                                    ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout] 32 + static RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 RKEY.lock().await.insert(r#type, RKey::new(
[INFO] [stdout]    |                 ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout] 32 + static RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |     Ok(unsafe { RKEY.lock().await.get(&flag).cloned() })
[INFO] [stdout]    |                 ^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]    |
[INFO] [stdout] 32 - static mut RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout] 32 + static RKEY: Lazy<Mutex<HashMap<u8, RKey>>> = Lazy::new(|| Mutex::new(HashMap::new()));
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/ntrim/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/ntrim/benches/fibonacci.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/account/get_group_member_list.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/account/set_qq_profile.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/account/get_group_member_info.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/account/get_group_info.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/account/get_stranger_info.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/mod.rs (2 fixes)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/message/send_private_msg.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/main.rs (2 fixes)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/account/send_like.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/account/get_account_info.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/message/send_group_msg.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/account/get_friend_list.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/account/get_qq_profile.rs (1 fix)
[INFO] [stderr]        Fixed crates/ntrim/src/backend/onebot/api/account/get_group_list.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_account_info.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | init_route!("/get_account_info", GetAccountInfoParams, handle_get_account_info);
[INFO] [stdout]     | ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_account_info.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | init_route!("/get_account_info", GetAccountInfoParams, handle_get_account_info);
[INFO] [stdout]     | ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_qq_profile.rs:34:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | init_route!("/get_qq_profile", GetQQProfileParams, handle_get_qq_profile);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_qq_profile.rs:34:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | init_route!("/get_qq_profile", GetQQProfileParams, handle_get_qq_profile);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/set_qq_profile.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | init_route!("/set_qq_profile", SetQQProfileParams, handle_set_qq_profile);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/set_qq_profile.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | init_route!("/set_qq_profile", SetQQProfileParams, handle_set_qq_profile);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_stranger_info.rs:58:1
[INFO] [stdout]     |
[INFO] [stdout]  58 | init_route!("/get_stranger_info", GetStrangerInfoParams, handle_get_stranger_info);
[INFO] [stdout]     | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_stranger_info.rs:58:1
[INFO] [stdout]     |
[INFO] [stdout]  58 | init_route!("/get_stranger_info", GetStrangerInfoParams, handle_get_stranger_info);
[INFO] [stdout]     | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_friend_list.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | init_route!("/get_friend_list", GetFriendListParams, handle_get_friend_list);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_friend_list.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | init_route!("/get_friend_list", GetFriendListParams, handle_get_friend_list);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_info.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | init_route!("/get_group_info", GetGroupInfoParams, handle_get_group_info);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_info.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | init_route!("/get_group_info", GetGroupInfoParams, handle_get_group_info);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_list.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | init_route!("/get_group_list", GetGroupListParams, handle_get_group_list);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_list.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | init_route!("/get_group_list", GetGroupListParams, handle_get_group_list);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_member_list.rs:78:1
[INFO] [stdout]     |
[INFO] [stdout]  78 | init_route!("/get_group_member_list", GetGroupMemberListParams, handle_get_group_member_list);
[INFO] [stdout]     | --------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_member_list.rs:78:1
[INFO] [stdout]     |
[INFO] [stdout]  78 | init_route!("/get_group_member_list", GetGroupMemberListParams, handle_get_group_member_list);
[INFO] [stdout]     | --------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_member_info.rs:58:1
[INFO] [stdout]     |
[INFO] [stdout]  58 | init_route!("/get_group_member_info", GetGroupMemberInfoParams, handle_get_group_member_info);
[INFO] [stdout]     | --------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_member_info.rs:58:1
[INFO] [stdout]     |
[INFO] [stdout]  58 | init_route!("/get_group_member_info", GetGroupMemberInfoParams, handle_get_group_member_info);
[INFO] [stdout]     | --------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/send_like.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | init_route!("/send_like", SendLikeParams, handle_send_like);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/send_like.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | init_route!("/send_like", SendLikeParams, handle_send_like);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/message/send_private_msg.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | init_route!("/send_private_msg", SendPrivateMessageParams, handle_send_private_msg);
[INFO] [stdout]     | ----------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/message/send_private_msg.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | init_route!("/send_private_msg", SendPrivateMessageParams, handle_send_private_msg);
[INFO] [stdout]     | ----------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/message/send_group_msg.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | init_route!("/send_group_msg", SendGroupMessageParams, handle_send_group_msg);
[INFO] [stdout]     | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/message/send_group_msg.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | init_route!("/send_group_msg", SendGroupMessageParams, handle_send_group_msg);
[INFO] [stdout]     | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/main.rs:94:19
[INFO] [stdout]     |
[INFO] [stdout]  94 |             match Bot::get_troop_member_list(&bot, group_info.code, group_info.owner_uin).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                                                       |
[INFO] [stdout]     |                   |                                                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                                                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 102 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_account_info.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | init_route!("/get_account_info", GetAccountInfoParams, handle_get_account_info);
[INFO] [stdout]     | ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_account_info.rs:35:1
[INFO] [stdout]     |
[INFO] [stdout]  35 | init_route!("/get_account_info", GetAccountInfoParams, handle_get_account_info);
[INFO] [stdout]     | ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_qq_profile.rs:34:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | init_route!("/get_qq_profile", GetQQProfileParams, handle_get_qq_profile);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_qq_profile.rs:34:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | init_route!("/get_qq_profile", GetQQProfileParams, handle_get_qq_profile);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/set_qq_profile.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | init_route!("/set_qq_profile", SetQQProfileParams, handle_set_qq_profile);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/set_qq_profile.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | init_route!("/set_qq_profile", SetQQProfileParams, handle_set_qq_profile);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_stranger_info.rs:58:1
[INFO] [stdout]     |
[INFO] [stdout]  58 | init_route!("/get_stranger_info", GetStrangerInfoParams, handle_get_stranger_info);
[INFO] [stdout]     | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_stranger_info.rs:58:1
[INFO] [stdout]     |
[INFO] [stdout]  58 | init_route!("/get_stranger_info", GetStrangerInfoParams, handle_get_stranger_info);
[INFO] [stdout]     | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_friend_list.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | init_route!("/get_friend_list", GetFriendListParams, handle_get_friend_list);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_friend_list.rs:32:1
[INFO] [stdout]     |
[INFO] [stdout]  32 | init_route!("/get_friend_list", GetFriendListParams, handle_get_friend_list);
[INFO] [stdout]     | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_info.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | init_route!("/get_group_info", GetGroupInfoParams, handle_get_group_info);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_info.rs:33:1
[INFO] [stdout]     |
[INFO] [stdout]  33 | init_route!("/get_group_info", GetGroupInfoParams, handle_get_group_info);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_list.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | init_route!("/get_group_list", GetGroupListParams, handle_get_group_list);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_list.rs:28:1
[INFO] [stdout]     |
[INFO] [stdout]  28 | init_route!("/get_group_list", GetGroupListParams, handle_get_group_list);
[INFO] [stdout]     | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_member_list.rs:78:1
[INFO] [stdout]     |
[INFO] [stdout]  78 | init_route!("/get_group_member_list", GetGroupMemberListParams, handle_get_group_member_list);
[INFO] [stdout]     | --------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_member_list.rs:78:1
[INFO] [stdout]     |
[INFO] [stdout]  78 | init_route!("/get_group_member_list", GetGroupMemberListParams, handle_get_group_member_list);
[INFO] [stdout]     | --------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_member_info.rs:58:1
[INFO] [stdout]     |
[INFO] [stdout]  58 | init_route!("/get_group_member_info", GetGroupMemberInfoParams, handle_get_group_member_info);
[INFO] [stdout]     | --------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/get_group_member_info.rs:58:1
[INFO] [stdout]     |
[INFO] [stdout]  58 | init_route!("/get_group_member_info", GetGroupMemberInfoParams, handle_get_group_member_info);
[INFO] [stdout]     | --------------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/send_like.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | init_route!("/send_like", SendLikeParams, handle_send_like);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/account/send_like.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | init_route!("/send_like", SendLikeParams, handle_send_like);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/message/send_private_msg.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | init_route!("/send_private_msg", SendPrivateMessageParams, handle_send_private_msg);
[INFO] [stdout]     | ----------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/message/send_private_msg.rs:63:1
[INFO] [stdout]     |
[INFO] [stdout]  63 | init_route!("/send_private_msg", SendPrivateMessageParams, handle_send_private_msg);
[INFO] [stdout]     | ----------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 151 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 152 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/message/send_group_msg.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | init_route!("/send_group_msg", SendGroupMessageParams, handle_send_group_msg);
[INFO] [stdout]     | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/backend/onebot/api/mod.rs:174:37
[INFO] [stdout]     |
[INFO] [stdout] 174 |             while let Some(chunk) = payload.next().await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |              |
[INFO] [stdout]     |                                     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 175 |                 body.extend_from_slice(&chunk.unwrap());
[INFO] [stdout]     |                                         --------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 176 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: crates/ntrim/src/backend/onebot/api/message/send_group_msg.rs:45:1
[INFO] [stdout]     |
[INFO] [stdout]  45 | init_route!("/send_group_msg", SendGroupMessageParams, handle_send_group_msg);
[INFO] [stdout]     | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.6.0/src/bytes.rs:544:1
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `init_route` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 50s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/ntrim/src/main.rs:94:19
[INFO] [stdout]     |
[INFO] [stdout]  94 |             match Bot::get_troop_member_list(&bot, group_info.code, group_info.owner_uin).await {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                   |                                                                       |
[INFO] [stdout]     |                   |                                                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                   |                                                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   |                                                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |                                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  98 |                 Err(e) => {
[INFO] [stdout]     |                     -
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `e` calls a custom destructor
[INFO] [stdout]     |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 102 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.82/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: sqlx-postgres v0.7.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] [stderr] crater-edition-check: ntrim v0.0.1 (/opt/rustwide/workdir/crates/ntrim) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ntrim-core v0.0.1 (/opt/rustwide/workdir/crates/ntrim-core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ntrim-macros v0.0.1 (/opt/rustwide/workdir/crates/ntrim-macros) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: ntrim-tools v0.0.1 (/opt/rustwide/workdir/crates/ntrim-tools) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling ntrim-core v0.0.1 (/opt/rustwide/workdir/crates/ntrim-core)
[INFO] [stderr]     Checking ntrim-tools v0.0.1 (/opt/rustwide/workdir/crates/ntrim-tools)
[INFO] [stderr]    Compiling ntrim-macros v0.0.1 (/opt/rustwide/workdir/crates/ntrim-macros)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU32`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::atomic::AtomicU32;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buf`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bytes::{Buf, Bytes};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `oidb_request` and `oidb_response`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{oidb_request, oidb_response, pb};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `*`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:8:41
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::pb::trpc::rich_media_ntv2::{ * };
[INFO] [stdout]   |                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::troop::GroupInfo`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/troop/get_troop_member_card_info.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::commands::troop::GroupInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pb`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/troop/get_troop_member_card_info.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pb;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JceGet`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/friend/get_friend_group_list.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use jcers::{JceGet, JcePut};
[INFO] [stdout]   |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `await_response`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/friend/get_friend_group_list.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{await_response, jce, pb};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::troop::GroupMemberPermission`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/friend/get_friend_group_list.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::commands::troop::GroupMemberPermission;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `next_request_id`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/friend/get_friend_group_list.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::jce::{next_request_id, pack_uni_request_data};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Error`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DecodeError`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use prost::{DecodeError, Message};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_summary_card.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_summary_card.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `oidb_request` and `oidb_response`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_summary_card.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{oidb_request, oidb_response};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `next_request_id`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/get_summary_card.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::jce::{next_request_id, pack_uni_request_data, RequestPacket};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BytesMut`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/vote_user.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bytes::{Bytes, BytesMut};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 |         };;
[INFO] [stdout]    |           ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DynamicImage`
[INFO] [stdout]  --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{DynamicImage, GenericImageView};
[INFO] [stdout]   |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ntrim_tools::tokiort::global_tokio_runtime`
[INFO] [stdout]  --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ntrim_tools::tokiort::global_tokio_runtime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> crates/ntrim-core/src/service/msg/message_factory.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instant` and `interval_at`
[INFO] [stdout]  --> crates/ntrim-core/src/service/heartbeat.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::time::{Instant, interval_at};
[INFO] [stdout]   |                   ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `commands`
[INFO] [stdout]  --> crates/ntrim-core/src/service/heartbeat.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{await_response, commands};
[INFO] [stdout]   |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BytesMut`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/echo.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bytes::{Buf, BufMut, BytesMut};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/echo.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::header::USER_AGENT`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/echo.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use reqwest::header::USER_AGENT;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::header::USER_AGENT`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/upload_block_no_resp.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use reqwest::header::USER_AGENT;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataHighwayHead`, `DataHighwaySegHead`, `LoginSigHead`, and `ReqDataHighwayHead`
[INFO] [stdout]   --> crates/ntrim-core/src/service/bdh/upload_block_no_resp.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::pb::bdh::{DataHighwayHead, DataHighwaySegHead, LoginSigHead, ReqDataHighwayHead, RespDataHighway};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::BufMut`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use bytes::BufMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/mod.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{info, warn};
[INFO] [stdout]   |           ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BytePacketBuilder`
[INFO] [stdout]   --> crates/ntrim-core/src/service/bdh/mod.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ntrim_tools::bytes::{BytePacketBuilder};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::OnceCell`
[INFO] [stdout]  --> crates/ntrim-core/src/servlet/register/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::OnceCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> crates/ntrim-core/src/servlet/register/mod.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{DateTime, NaiveDateTime};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `*`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::pb::trpc::olpush::{ * };
[INFO] [stdout]    |                                ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Local` and `NaiveDateTime`
[INFO] [stdout]  --> crates/ntrim-core/src/servlet/olpush/msg/mod.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{Local, NaiveDateTime};
[INFO] [stdout]   |              ^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Grp`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/mod.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::pb::msg::{Grp, olpush_routing_head};
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ntrim_tools::tokiort::global_tokio_runtime`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ntrim_tools::tokiort::global_tokio_runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::Bytes`
[INFO] [stdout]  --> crates/ntrim-core/src/jce/friendlist.get_multi_group_info.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bytes::Bytes;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> crates/ntrim-core/src/db/group_member_list.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Acquire`
[INFO] [stdout]  --> crates/ntrim-core/src/db/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sqlx::{Acquire, PgPool};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicU32`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::atomic::AtomicU32;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use once_cell::sync::Lazy;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Buf`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bytes::{Buf, Bytes};
[INFO] [stdout]   |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `oidb_request` and `oidb_response`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{oidb_request, oidb_response, pb};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `*`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:8:41
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::pb::trpc::rich_media_ntv2::{ * };
[INFO] [stdout]   |                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::troop::GroupInfo`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/troop/get_troop_member_card_info.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::commands::troop::GroupInfo;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pb`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/troop/get_troop_member_card_info.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::pb;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `JceGet`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/friend/get_friend_group_list.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use jcers::{JceGet, JcePut};
[INFO] [stdout]   |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `await_response`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/friend/get_friend_group_list.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{await_response, jce, pb};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::troop::GroupMemberPermission`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/friend/get_friend_group_list.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::commands::troop::GroupMemberPermission;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `next_request_id`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/friend/get_friend_group_list.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::jce::{next_request_id, pack_uni_request_data};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Error`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DecodeError`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use prost::{DecodeError, Message};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_summary_card.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_summary_card.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `oidb_request` and `oidb_response`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/get_summary_card.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{oidb_request, oidb_response};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `next_request_id`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/get_summary_card.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::jce::{next_request_id, pack_uni_request_data, RequestPacket};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BytesMut`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/contact/vote_user.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bytes::{Bytes, BytesMut};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 |         };;
[INFO] [stdout]    |           ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DynamicImage`
[INFO] [stdout]  --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use image::{DynamicImage, GenericImageView};
[INFO] [stdout]   |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use log::{debug, info};
[INFO] [stdout]   |           ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ntrim_tools::tokiort::global_tokio_runtime`
[INFO] [stdout]  --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ntrim_tools::tokiort::global_tokio_runtime;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> crates/ntrim-core/src/service/msg/message_factory.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Instant` and `interval_at`
[INFO] [stdout]  --> crates/ntrim-core/src/service/heartbeat.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::time::{Instant, interval_at};
[INFO] [stdout]   |                   ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `commands`
[INFO] [stdout]  --> crates/ntrim-core/src/service/heartbeat.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{await_response, commands};
[INFO] [stdout]   |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BytesMut`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/echo.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bytes::{Buf, BufMut, BytesMut};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/echo.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::header::USER_AGENT`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/echo.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use reqwest::header::USER_AGENT;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::header::USER_AGENT`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/upload_block_no_resp.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use reqwest::header::USER_AGENT;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DataHighwayHead`, `DataHighwaySegHead`, `LoginSigHead`, and `ReqDataHighwayHead`
[INFO] [stdout]   --> crates/ntrim-core/src/service/bdh/upload_block_no_resp.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::pb::bdh::{DataHighwayHead, DataHighwaySegHead, LoginSigHead, ReqDataHighwayHead, RespDataHighway};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::BufMut`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use bytes::BufMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> crates/ntrim-core/src/service/bdh/mod.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use log::{info, warn};
[INFO] [stdout]   |           ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BytePacketBuilder`
[INFO] [stdout]   --> crates/ntrim-core/src/service/bdh/mod.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ntrim_tools::bytes::{BytePacketBuilder};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::OnceCell`
[INFO] [stdout]  --> crates/ntrim-core/src/servlet/register/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::OnceCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> crates/ntrim-core/src/servlet/register/mod.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{DateTime, NaiveDateTime};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `*`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::pb::trpc::olpush::{ * };
[INFO] [stdout]    |                                ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Local` and `NaiveDateTime`
[INFO] [stdout]  --> crates/ntrim-core/src/servlet/olpush/msg/mod.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{Local, NaiveDateTime};
[INFO] [stdout]   |              ^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Grp`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/mod.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::pb::msg::{Grp, olpush_routing_head};
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ntrim_tools::tokiort::global_tokio_runtime`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ntrim_tools::tokiort::global_tokio_runtime;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::Bytes`
[INFO] [stdout]  --> crates/ntrim-core/src/jce/friendlist.get_multi_group_info.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use bytes::Bytes;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::format`
[INFO] [stdout]  --> crates/ntrim-core/src/db/group_member_list.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::format;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Acquire`
[INFO] [stdout]  --> crates/ntrim-core/src/db/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use sqlx::{Acquire, PgPool};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/register/mod.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let mut cookie = SsoC2cMsgCookie::default();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/register/mod.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |             let mut cookie = SsoC2cMsgCookie::default();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/register_old/mod.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut session = session.write().await;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/register_old/mod.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut session = session.write().await;
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:153:33
[INFO] [stdout]     |
[INFO] [stdout] 153 | ...                   let mut ticket = session.ticket_mut(SigType::A2).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 | ...                   let mut ticket = session.ticket_mut(SigType::A2).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:165:33
[INFO] [stdout]     |
[INFO] [stdout] 165 | ...                   let mut ticket = session.ticket_mut(SigType::ST).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:169:33
[INFO] [stdout]     |
[INFO] [stdout] 169 | ...                   let mut ticket = session.ticket_mut(SigType::ST).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:228:45
[INFO] [stdout]     |
[INFO] [stdout] 228 | ...                   let mut ticket = session.ticket_mut(SigType::D2).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:239:33
[INFO] [stdout]     |
[INFO] [stdout] 239 | ...                   let mut ticket = session.ticket_mut(SigType::D2).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:254:33
[INFO] [stdout]     |
[INFO] [stdout] 254 | ...                   let mut ticket = session.ticket_mut(SigType::D2).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:153:33
[INFO] [stdout]     |
[INFO] [stdout] 153 | ...                   let mut ticket = session.ticket_mut(SigType::A2).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 | ...                   let mut ticket = session.ticket_mut(SigType::A2).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:165:33
[INFO] [stdout]     |
[INFO] [stdout] 165 | ...                   let mut ticket = session.ticket_mut(SigType::ST).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:169:33
[INFO] [stdout]     |
[INFO] [stdout] 169 | ...                   let mut ticket = session.ticket_mut(SigType::ST).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:228:45
[INFO] [stdout]     |
[INFO] [stdout] 228 | ...                   let mut ticket = session.ticket_mut(SigType::D2).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:239:33
[INFO] [stdout]     |
[INFO] [stdout] 239 | ...                   let mut ticket = session.ticket_mut(SigType::D2).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:254:33
[INFO] [stdout]     |
[INFO] [stdout] 254 | ...                   let mut ticket = session.ticket_mut(SigType::D2).unwrap();
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut rsp = HttpConn0xff501Response::decode(Bytes::from(data))
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut rsp = HttpConn0xff501Response::decode(Bytes::from(data))
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_list.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let mut request: Result<jce::RequestPacket, _> = jcers::from_buf(&mut payload).map_err(Error::from);
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_list.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut data: Result<jce::RequestDataVersion3, _> =
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_list.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut fl_resp = data.map.remove("GetTroopListRespV2").ok_or_else(|| {
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_list.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let mut request: Result<jce::RequestPacket, _> = jcers::from_buf(&mut payload).map_err(Error::from);
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_list.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut data: Result<jce::RequestDataVersion3, _> =
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_list.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut fl_resp = data.map.remove("GetTroopListRespV2").ok_or_else(|| {
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_simple_info.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut request: Result<jce::RequestPacket, _> = jcers::from_buf(&mut payload).map_err(Error::from);
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_simple_info.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let mut data: Result<jce::RequestDataVersion3, _> =
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_simple_info.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut fl_resp = data.map.remove("GMTIRESP").ok_or_else(|| {
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_simple_info.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut request: Result<jce::RequestPacket, _> = jcers::from_buf(&mut payload).map_err(Error::from);
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_simple_info.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let mut data: Result<jce::RequestDataVersion3, _> =
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_simple_info.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut fl_resp = data.map.remove("GMTIRESP").ok_or_else(|| {
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let is_rkey_expires = unsafe { RKEY.lock().await.get(&flag) }
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^          - temporary value is freed at the end of this statement
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    creates a temporary value which is freed while still in use
[INFO] [stdout] 51 |         .map_or(true, |v| v.is_expired());
[INFO] [stdout]    |          ------ borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let mut index = &mut msg_info_body.index;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> crates/ntrim-core/src/service/rich_media/get_downlaod_rkey.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let is_rkey_expires = unsafe { RKEY.lock().await.get(&flag) }
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^          - temporary value is freed at the end of this statement
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    creates a temporary value which is freed while still in use
[INFO] [stdout] 51 |         .map_or(true, |v| v.is_expired());
[INFO] [stdout]    |          ------ borrow later used by call
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/service/friend/get_friend_list.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let mut output = output.clone();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/ntrim-core/src/service/rich_media/request_upload_group_res.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let mut index = &mut msg_info_body.index;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/service/friend/get_friend_list.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let mut output = output.clone();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/service/bdh/mod.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut client = Client::builder()
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/service/bdh/mod.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut client = Client::builder()
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/register/mod.rs:43:53
[INFO] [stdout]    |
[INFO] [stdout] 43 |                     latest_msg_time: NaiveDateTime::from_timestamp(node.latest_msg_time as i64, 0),
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/register/mod.rs:43:53
[INFO] [stdout]    |
[INFO] [stdout] 43 |                     latest_msg_time: NaiveDateTime::from_timestamp(node.latest_msg_time as i64, 0),
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/mod.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut rich_text = msg.msg_body.rich_text.unwrap();
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/mod.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let mut rich_text = msg.msg_body.rich_text.unwrap();
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/mod.rs:50:41
[INFO] [stdout]    |
[INFO] [stdout] 50 |     async fn on_msg_push(bot: Arc<Bot>, mut from: FromServiceMsg) -> Result<(), Error> {
[INFO] [stdout]    |                                         ----^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/mod.rs:50:41
[INFO] [stdout]    |
[INFO] [stdout] 50 |     async fn on_msg_push(bot: Arc<Bot>, mut from: FromServiceMsg) -> Result<(), Error> {
[INFO] [stdout]    |                                         ----^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/mod.rs:79:41
[INFO] [stdout]    |
[INFO] [stdout] 79 |     async fn on_req_push(bot: Arc<Bot>, mut from: FromServiceMsg) -> Result<(), Error> {
[INFO] [stdout]    |                                         ----^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/mod.rs:79:41
[INFO] [stdout]    |
[INFO] [stdout] 79 |     async fn on_req_push(bot: Arc<Bot>, mut from: FromServiceMsg) -> Result<(), Error> {
[INFO] [stdout]    |                                         ----^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/register_old/mod.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<SsoSyncInfoResponse> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `face`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:175:33
[INFO] [stdout]     |
[INFO] [stdout] 175 | ...                   let face = buf.get_u16();
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_face`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `age`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:176:33
[INFO] [stdout]     |
[INFO] [stdout] 176 | ...                   let age = buf.get_u8();
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_age`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gender`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:177:33
[INFO] [stdout]     |
[INFO] [stdout] 177 | ...                   let gender = buf.get_u8();
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_gender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:275:33
[INFO] [stdout]     |
[INFO] [stdout] 275 | ...                   let version = v.get_u8();
[INFO] [stdout]     |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uin`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:278:37
[INFO] [stdout]     |
[INFO] [stdout] 278 | ...                   let uin = v.get_u64();
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_uin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:279:37
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...                   let ip = v.copy_to_bytes(4);
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:280:37
[INFO] [stdout]     |
[INFO] [stdout] 280 | ...                   let time = v.get_u32();
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:281:37
[INFO] [stdout]     |
[INFO] [stdout] 281 | ...                   let app_id = v.get_u32();
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t508`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |                 let t508 = tlv_map.get(&0x508);
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_t508`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/status/nt_heartbeat.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     async fn generate(bot: &Arc<Bot>) -> Option<Vec<u8>> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/status/nt_heartbeat.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<u64> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/status/heartbeat.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 |     async fn generate(bot: &Arc<Bot>) -> Option<Vec<u8>> { None }
[INFO] [stdout]   |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/status/heartbeat.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> { None }
[INFO] [stdout]   |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/status/heartbeat.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> { None }
[INFO] [stdout]   |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/richmedia/request_download_rkey.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     async fn generate(bot: &Arc<Bot>) -> Option<Vec<u8>> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/richmedia/request_download_rkey.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<DownloadRkeyRsp> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<UploadRsp> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<(Vec<u8>, Vec<(u32, u32)>)> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/msg_svc/send_raw_msg.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<u64> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_list.rs:78:20
[INFO] [stdout]    |
[INFO] [stdout] 78 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<(Vec<GroupInfo>, Bytes)> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/troop/get_troop_member_list.rs:130:20
[INFO] [stdout]     |
[INFO] [stdout] 130 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<(Vec<GroupMemberInfo>, i64)> {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_simple_info.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<Vec<GroupInfo>> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_info.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 |     async fn generate(bot: &Arc<Bot>, group_codes: Vec<i64>) -> Option<Vec<u8>> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_info.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<Vec<GroupInfo>> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_member_card_info.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn generate(bot: &Arc<Bot>, group_code: i64, target: i64) -> Option<Vec<u8>> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_member_card_info.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<crate::commands::troop::GroupMemberInfo> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/friend/get_friend_group_list.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<FriendListResponse> {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |     async fn generate(bot: &Arc<Bot>, user_id: i64) -> Option<Vec<u8>> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<QQProfile> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/set_profile_detail.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/set_profile_detail.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/contact/get_summary_card.rs:205:20
[INFO] [stdout]     |
[INFO] [stdout] 205 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<SummaryCardInfo> {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/vote_user.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/vote_user.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/register_old/mod.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<SsoSyncInfoResponse> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `face`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:175:33
[INFO] [stdout]     |
[INFO] [stdout] 175 | ...                   let face = buf.get_u16();
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_face`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `age`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:176:33
[INFO] [stdout]     |
[INFO] [stdout] 176 | ...                   let age = buf.get_u8();
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_age`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gender`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:177:33
[INFO] [stdout]     |
[INFO] [stdout] 177 | ...                   let gender = buf.get_u8();
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_gender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:275:33
[INFO] [stdout]     |
[INFO] [stdout] 275 | ...                   let version = v.get_u8();
[INFO] [stdout]     |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uin`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:278:37
[INFO] [stdout]     |
[INFO] [stdout] 278 | ...                   let uin = v.get_u64();
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_uin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:279:37
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...                   let ip = v.copy_to_bytes(4);
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:280:37
[INFO] [stdout]     |
[INFO] [stdout] 280 | ...                   let time = v.get_u32();
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:281:37
[INFO] [stdout]     |
[INFO] [stdout] 281 | ...                   let app_id = v.get_u32();
[INFO] [stdout]     |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t508`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/wtlogin/mod.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |                 let t508 = tlv_map.get(&0x508);
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_t508`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/status/nt_heartbeat.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     async fn generate(bot: &Arc<Bot>) -> Option<Vec<u8>> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/status/nt_heartbeat.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<u64> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/status/heartbeat.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 |     async fn generate(bot: &Arc<Bot>) -> Option<Vec<u8>> { None }
[INFO] [stdout]   |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/status/heartbeat.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> { None }
[INFO] [stdout]   |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> crates/ntrim-core/src/commands/status/heartbeat.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> { None }
[INFO] [stdout]   |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/richmedia/request_download_rkey.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     async fn generate(bot: &Arc<Bot>) -> Option<Vec<u8>> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/richmedia/request_download_rkey.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<DownloadRkeyRsp> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/richmedia/request_upload_resource.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<UploadRsp> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/richmedia/request_upload_ukey.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<(Vec<u8>, Vec<(u32, u32)>)> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/msg_svc/send_raw_msg.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<u64> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_list.rs:78:20
[INFO] [stdout]    |
[INFO] [stdout] 78 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<(Vec<GroupInfo>, Bytes)> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/troop/get_troop_member_list.rs:130:20
[INFO] [stdout]     |
[INFO] [stdout] 130 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<(Vec<GroupMemberInfo>, i64)> {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_simple_info.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<Vec<GroupInfo>> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_info.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 |     async fn generate(bot: &Arc<Bot>, group_codes: Vec<i64>) -> Option<Vec<u8>> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_info.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<Vec<GroupInfo>> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_member_card_info.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn generate(bot: &Arc<Bot>, group_code: i64, target: i64) -> Option<Vec<u8>> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/troop/get_troop_member_card_info.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<crate::commands::troop::GroupMemberInfo> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/friend/get_friend_group_list.rs:156:20
[INFO] [stdout]     |
[INFO] [stdout] 156 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<FriendListResponse> {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:38:23
[INFO] [stdout]    |
[INFO] [stdout] 38 |     async fn generate(bot: &Arc<Bot>, user_id: i64) -> Option<Vec<u8>> {
[INFO] [stdout]    |                       ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/get_profile_detail.rs:61:20
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<QQProfile> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/set_profile_detail.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/set_profile_detail.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]    --> crates/ntrim-core/src/commands/contact/get_summary_card.rs:205:20
[INFO] [stdout]     |
[INFO] [stdout] 205 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<SummaryCardInfo> {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bot`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/vote_user.rs:57:20
[INFO] [stdout]    |
[INFO] [stdout] 57 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> crates/ntrim-core/src/commands/contact/vote_user.rs:57:36
[INFO] [stdout]    |
[INFO] [stdout] 57 |     async fn parse(bot: &Arc<Bot>, data: Vec<u8>) -> Option<()> {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `servlet`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/register/mod.rs:29:27
[INFO] [stdout]    |
[INFO] [stdout] 29 |     async fn on_sync_push(servlet: &RegisterProxyServlet, sync_push: Result<TrpcInfoSyncPush, DecodeError>) {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_servlet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `servlet`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/register/mod.rs:52:23
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn on_push_params(servlet: &RegisterProxyServlet, push_params: Result<TrpcPushParams, DecodeError>) {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_servlet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     let size = buf.get_u16();
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |                     let pos = buf.get_u16();
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nick_len`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |                     let nick_len = buf.get_u16();
[INFO] [stdout]    |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nick_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_at_all`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     let is_at_all = buf.get_u8();
[INFO] [stdout]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_at_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:116:41
[INFO] [stdout]     |
[INFO] [stdout] 116 |             AioElem::ArkJson(LightArk { data }) => {
[INFO] [stdout]     |                                         ^^^^ help: try ignoring the field: `data: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `upload_time`
[INFO] [stdout]    --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let upload_time = index.upload_time;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_upload_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_uuid`
[INFO] [stdout]    --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:153:13
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let file_uuid = &index.file_uuid;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_sub_appid`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let from_sub_appid = msg.routing_head.from_app_id;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_sub_appid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `platform`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let platform = msg.routing_head.platform;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ntrim-core` (lib) due to 1 previous error; 120 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `servlet`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/register/mod.rs:29:27
[INFO] [stdout]    |
[INFO] [stdout] 29 |     async fn on_sync_push(servlet: &RegisterProxyServlet, sync_push: Result<TrpcInfoSyncPush, DecodeError>) {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_servlet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `servlet`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/register/mod.rs:52:23
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn on_push_params(servlet: &RegisterProxyServlet, push_params: Result<TrpcPushParams, DecodeError>) {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_servlet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     let size = buf.get_u16();
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |                     let pos = buf.get_u16();
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nick_len`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |                     let nick_len = buf.get_u16();
[INFO] [stdout]    |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nick_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_at_all`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:58:25
[INFO] [stdout]    |
[INFO] [stdout] 58 |                     let is_at_all = buf.get_u8();
[INFO] [stdout]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_at_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:116:41
[INFO] [stdout]     |
[INFO] [stdout] 116 |             AioElem::ArkJson(LightArk { data }) => {
[INFO] [stdout]     |                                         ^^^^ help: try ignoring the field: `data: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `upload_time`
[INFO] [stdout]    --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let upload_time = index.upload_time;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_upload_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_uuid`
[INFO] [stdout]    --> crates/ntrim-core/src/servlet/olpush/msg/decoder.rs:153:13
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let file_uuid = &index.file_uuid;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_uuid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_sub_appid`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let from_sub_appid = msg.routing_head.from_app_id;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_from_sub_appid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `platform`
[INFO] [stdout]   --> crates/ntrim-core/src/servlet/olpush/msg/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let platform = msg.routing_head.platform;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ntrim-core` (lib test) due to 1 previous error; 119 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "cf6d5998af68ab5f79b6b95d89bcdca77bbf04244d464fc87a10d3d6a976ffda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf6d5998af68ab5f79b6b95d89bcdca77bbf04244d464fc87a10d3d6a976ffda", kill_on_drop: false }`
[INFO] [stdout] cf6d5998af68ab5f79b6b95d89bcdca77bbf04244d464fc87a10d3d6a976ffda
